package mybox.engine;

import java.io.IOException;

public class SchachtelTrick {
	
	static double laenge=60;
	static double breite=30;
	static double hoehe=30;
	static double materialDicke=4;
	static double zinkungsFaktor=1;
	static double laserBreite=0.03;
	static double trinkHalmDurchmesser=5;
	static double durchmesserSpiess=3; //ein bisschen aufgerundet
	static int    anzInnenQuadern=4;
	static double beobachtungsLochRadius=breite/2-1.5*durchmesserSpiess;
	
	static double aussenBoxLaenge=java.lang.Math.max(breite*anzInnenQuadern,breite*(anzInnenQuadern-2)+laenge)+2*materialDicke+durchmesserSpiess/2;
	static double aussenBoxBreite=breite*2+2*durchmesserSpiess+2*materialDicke;
	static double aussenBoxHoehe=hoehe+2*materialDicke+durchmesserSpiess/2;
	
	
	
	public static void innenBox() 
	throws SecurityException, IOException {	
		File4Qcad file4qcad = new File4Qcad(ReferenceIOutput.testoutputFile());
		Schachtel schachtel = new Schachtel(file4qcad, new QVector(0,0), laenge,breite,hoehe,materialDicke,zinkungsFaktor,laserBreite);
		schachtel.drawCircle2Center(trinkHalmDurchmesser/2,Schachtel.GRUNDPLATTE1);
		schachtel.drawCircle2Center(trinkHalmDurchmesser/2,Schachtel.GRUNDPLATTE2);		
		file4qcad.close();
	}
	
	public static void aussenBox() 
	throws SecurityException, IOException {
		
		File4Qcad file4qcad = new File4Qcad(ReferenceIOutput.testoutputFile());
		Schachtel schachtel = new Schachtel(file4qcad, new QVector(0,0), aussenBoxLaenge,aussenBoxBreite,aussenBoxHoehe,materialDicke,zinkungsFaktor,laserBreite);
		schachtel.drawCircle2Center(trinkHalmDurchmesser/2, Schachtel.SEITENPLATTE1);
		schachtel.drawCircle2Center(trinkHalmDurchmesser/2, Schachtel.SEITENPLATTE2);
	   	schachtel.drawZigZagCircles(anzInnenQuadern, beobachtungsLochRadius, Schachtel.GRUNDPLATTE1);
	   	schachtel.drawZigZagCircles(anzInnenQuadern, beobachtungsLochRadius, Schachtel.GRUNDPLATTE2);    
		
		file4qcad.close();
		
	}

}
